home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / LANG / Long.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  2.7 KB  |  183 lines

  1. package java.lang;
  2.  
  3. public final class Long extends Number {
  4.    public static final long MIN_VALUE = -9223372036854775808L;
  5.    public static final long MAX_VALUE = 9223372036854775807L;
  6.    private long value;
  7.  
  8.    public static String toString(long var0, int var2) {
  9.       if (var2 < 2 || var2 > 36) {
  10.          var2 = 10;
  11.       }
  12.  
  13.       StringBuffer var3 = new StringBuffer(var2 >= 8 ? 23 : 65);
  14.       boolean var4 = var0 < 0L;
  15.       if (!var4) {
  16.          var0 = -var0;
  17.       }
  18.  
  19.       while(var0 <= (long)(-var2)) {
  20.          var3.append(Character.forDigit((int)(-(var0 % (long)var2)), var2));
  21.          var0 /= (long)var2;
  22.       }
  23.  
  24.       var3.append(Character.forDigit((int)(-var0), var2));
  25.       if (var4) {
  26.          var3.append('-');
  27.       }
  28.  
  29.       StringBuffer var5 = var3.reverse();
  30.       return new String(var5);
  31.    }
  32.  
  33.    public static String toHexString(long var0) {
  34.       return toUnsignedString(var0, 4);
  35.    }
  36.  
  37.    public static String toOctalString(long var0) {
  38.       return toUnsignedString(var0, 3);
  39.    }
  40.  
  41.    public static String toBinaryString(long var0) {
  42.       return toUnsignedString(var0, 1);
  43.    }
  44.  
  45.    private static String toUnsignedString(long var0, int var2) {
  46.       StringBuffer var3 = new StringBuffer(var2 >= 3 ? 22 : 64);
  47.       int var4 = 1 << var2;
  48.       long var5 = (long)(var4 - 1);
  49.  
  50.       do {
  51.          var3.append(Character.forDigit((int)(var0 & var5), var4));
  52.          var0 >>>= var2;
  53.       } while(var0 != 0L);
  54.  
  55.       StringBuffer var7 = var3.reverse();
  56.       return new String(var7);
  57.    }
  58.  
  59.    public static String toString(long var0) {
  60.       return toString(var0, 10);
  61.    }
  62.  
  63.    public static long parseLong(String var0, int var1) throws NumberFormatException {
  64.       if (var0 == null) {
  65.          throw new NumberFormatException("null");
  66.       } else {
  67.          long var2 = 0L;
  68.          boolean var4 = false;
  69.          int var5 = 0;
  70.          int var6 = var0.count;
  71.          if (var6 <= 0) {
  72.             throw new NumberFormatException(var0);
  73.          } else {
  74.             if (var0.charAt(0) == '-') {
  75.                var4 = true;
  76.                ++var5;
  77.             }
  78.  
  79.             while(var5 < var6) {
  80.                int var7 = Character.digit(var0.charAt(var5++), var1);
  81.                if (var7 < 0) {
  82.                   throw new NumberFormatException(var0);
  83.                }
  84.  
  85.                var2 = var2 * (long)var1 + (long)var7;
  86.             }
  87.  
  88.             return var4 ? -var2 : var2;
  89.          }
  90.       }
  91.    }
  92.  
  93.    public static long parseLong(String var0) throws NumberFormatException {
  94.       return parseLong(var0, 10);
  95.    }
  96.  
  97.    public static Long valueOf(String var0, int var1) throws NumberFormatException {
  98.       return new Long(parseLong(var0, var1));
  99.    }
  100.  
  101.    public static Long valueOf(String var0) throws NumberFormatException {
  102.       return new Long(parseLong(var0, 10));
  103.    }
  104.  
  105.    public Long(long var1) {
  106.       this.value = var1;
  107.    }
  108.  
  109.    public Long(String var1) throws NumberFormatException {
  110.       this.value = parseLong(var1, 10);
  111.    }
  112.  
  113.    public int intValue() {
  114.       return (int)this.value;
  115.    }
  116.  
  117.    public long longValue() {
  118.       return this.value;
  119.    }
  120.  
  121.    public float floatValue() {
  122.       return (float)this.value;
  123.    }
  124.  
  125.    public double doubleValue() {
  126.       return (double)this.value;
  127.    }
  128.  
  129.    public String toString() {
  130.       long var1 = this.value;
  131.       return toString(var1, 10);
  132.    }
  133.  
  134.    public int hashCode() {
  135.       return (int)(this.value ^ this.value >> 32);
  136.    }
  137.  
  138.    public boolean equals(Object var1) {
  139.       if (var1 != null && var1 instanceof Long) {
  140.          Long var2 = (Long)var1;
  141.          return this.value == var2.value;
  142.       } else {
  143.          return false;
  144.       }
  145.    }
  146.  
  147.    public static Long getLong(String var0) {
  148.       return getLong(var0, (Long)null);
  149.    }
  150.  
  151.    public static Long getLong(String var0, long var1) {
  152.       Long var3 = getLong(var0, (Long)null);
  153.       return var3 == null ? new Long(var1) : var3;
  154.    }
  155.  
  156.    public static Long getLong(String var0, Long var1) {
  157.       String var2 = System.getProperty(var0);
  158.       if (var2 != null) {
  159.          try {
  160.             if (var2.startsWith("0x", 0)) {
  161.                String var6 = var2.substring(2, var2.count);
  162.                return new Long(parseLong(var6, 16));
  163.             }
  164.  
  165.             if (var2.startsWith("#", 0)) {
  166.                String var5 = var2.substring(1, var2.count);
  167.                return new Long(parseLong(var5, 16));
  168.             }
  169.  
  170.             if (var2.startsWith("0", 0) && var2.count > 1) {
  171.                String var3 = var2.substring(1, var2.count);
  172.                return new Long(parseLong(var3, 8));
  173.             }
  174.  
  175.             return new Long(parseLong(var2, 10));
  176.          } catch (NumberFormatException var4) {
  177.          }
  178.       }
  179.  
  180.       return var1;
  181.    }
  182. }
  183.